//============================================================
//write by bxl at 2019-09-10 18:10:52
//============================================================

using BCCommon.CRMEnums;
using BCCommon.Enums;
using BCCommon.Extensions;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;

namespace BCDto.CRM.CustomerInfo
{

    /// <summary>
    /// 客户信息
    /// </summary>
    public partial class CustomerInfoDto
    {
        /// <summary>
        /// 客户信息Id
        /// </summary>
        public long CustomerInfoId { get; set; }
        /// <summary>
        /// 公司Id
        /// </summary>
        public int? CompanyId { get; set; }
        /// <summary>
        /// 客户姓名
        /// </summary> 
        public string UserName { get; set; }
        /// <summary>
        /// 客户电话
        /// </summary> 
        public string Phone { get; set; }
        /// <summary>
        /// 客户邮件
        /// </summary>
        public string Email { get; set; }
        /// <summary>
        /// 客户性别
        /// </summary> 
        public CRMSex Sex { get; set; }
        /// <summary>
        /// 客户性别
        /// </summary>
        public string SexStr => this.Sex.GetDescriptionString();
        /// <summary>
        /// 客户来源类型
        /// </summary> 
        public CRMResourceType ResourceType { get; set; }
        /// <summary>
        /// 客户来源类型
        /// </summary>
        public string ResourceTypeStr => this.ResourceType.GetDescriptionString();
        /// <summary>
        /// 省份编码
        /// </summary> 
        public string ProvinceCode { get; set; }
        /// <summary>
        /// 省/州名称
        /// </summary> 
        public string ProvinceName { get; set; }
        /// <summary>
        /// 市Id
        /// </summary> 
        public string CityCode { get; set; }
        /// <summary>
        /// 市名称
        /// </summary> 
        public string CityName { get; set; }
        /// <summary>
        /// 县Id
        /// </summary> 
        public string CountyCode { get; set; }
        /// <summary>
        /// 县名称
        /// </summary> 
        public string CountyName { get; set; }
        /// <summary>
        /// 客户地址
        /// </summary> 
        public string Address { get; set; }
        /// <summary>
        /// 接待次数
        /// </summary> 
        public int ReceptionTimes { get; set; }
        /// <summary>
        /// 客户级别
        /// </summary> 
        public CRMCustomerLevel CustomerLevel { get; set; }

        /// <summary>
        /// 客户级别
        /// </summary>
        public string CustomerLevelStr => this.CustomerLevel.GetDescriptionString();
        /// <summary>
        /// 客户分类
        /// </summary> 
        public CRMCustomerCategory CustomerCategory { get; set; }
        /// <summary>
        /// 客户分类
        /// </summary>
        public string CustomerCategoryStr => this.CustomerCategory.GetDescriptionString();
        /// <summary>
        /// 预计订车时间
        /// </summary>
        public DateTime PreestimateBookTime { get; set; }
        /// <summary>
        /// 身份证号
        /// </summary>
        public string IdentityCardNo { get; set; }
        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday { get; set; }
        /// <summary>
        /// 客户类型r  '非客户、潜在客户、目标客户、现实客户、流失客户
        /// </summary> 
        public CRMCustomerType CustomerType { get; set; }
        /// <summary>
        /// 客户类型r  '非客户、潜在客户、目标客户、现实客户、流失客户
        /// </summary>
        public string CustomerTypeStr => this.CustomerType.GetDescriptionString();
        /// <summary>
        /// 客户评级(重点客户、主体客户、可开发客户、淘汰客户、同行)
        /// </summary>
        public CRMCustomerGrade CustomerGrade { get; set; }
        /// <summary>
        /// 客户评级(重点客户、主体客户、可开发客户、淘汰客户、同行)
        /// </summary>
        public string CustomerGradeStr => this.CustomerGrade.GetDescriptionString();
        /// <summary>
        /// 创建时间
        /// </summary>  
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary> 
        public DateTime UpdateTime { get; set; }
        /// <summary>
        /// 微信号
        /// </summary>
        public string WeChatNo { get; set; }
        /// <summary>
        /// 归属人Id
        /// </summary> 
        public long AdminId { get; set; }
        /// <summary>
        /// 归属人姓名
        /// </summary>
        public string AdminFullName { get; set; }
        /// <summary>
        /// 已成交
        /// </summary> 
        public bool IsFill { get; set; }
        /// <summary>
        /// 已放弃
        /// </summary> 
        public bool IsGivenUp { get; set; }
        /// <summary>
        /// 成交次数
        /// </summary> 
        public int FillTimes { get; set; }
        /// <summary>
        /// 跟进次数
        /// </summary> 
        public int FollowUpTimes { get; set; }
        /// <summary>
        /// 归属开始日期
        /// </summary> 
        public DateTime BelongStartDate { get; set; }
        /// <summary>
        /// 归属结束日期
        /// </summary> 
        public DateTime BelongEndDate { get; set; }
        /// <summary>
        /// 超时未完成交易
        /// </summary>
        public bool IsExceedTime { get; set; }
        /// <summary>
        /// 成交时间
        /// </summary>
        public DateTime FillTime { get; set; }

        /// <summary>
        /// 头像
        /// </summary>
        public string Avatar { set; get; }

        /// <summary>
        /// 账号状态
        /// </summary>
        public AccountStatus AccountStatus { get; set; }

    }
}
